package com.itheima.a08regexdemo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo6 {
    public static void main(String[] args) {
        //本地爬虫
        String str = "Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java11，" +
                "因为这两个是长期支持版本，" +
                "下一个长期支持版本是Java17，" +
                "预计Java172021年9月发布。";
        //method1(str);

        //1.获取正则表达式的对象
        Pattern p = Pattern.compile("Java\\d{0,2}");
        //2.获取文本匹配器的对象
        //拿着m去读取str，找符合p规则的字串
        Matcher m = p.matcher(str);
        //3.利用循环，遍历所有符合规则的字串
        while(m.find()){
            String s = m.group();
            System.out.println(s);
        }
    }

    private static void method1(String str) {
        //获取正则表达式的对象
        Pattern p = Pattern.compile("Java\\d{0,2}");
        //获取文本匹配器的对象
        //m：文本匹配器的对象
        //str：大串
        //p:规则
        //m要在str中找符合p规则的小串
        Matcher m = p.matcher(str);

        //拿着文本匹配器从头开始读取，寻找是否有满足规则的字串
        //如果没有，方法返回false
        //如果有，方法返回true
        //并记录下满足规则的字串的起始索引和结束索引（不包含）
        //继续读取，重复以上过程
        //直到读取到字符串的末尾
        boolean b = m.find();
        String s1 = m.group();
    }
}
